package exception;

public class TryCatchDemo {
    public static void main(String[] args) {
        System.out.println("main方法开始");
        try {
            //String str = null;
            String str = "abcdsa";
            //JVM执行到这里遇到空指针会实例化该异常并将其抛出
            //如果没有异常处理机制，那么该异常会被抛出到main方法之外处理
            //但是一旦异常抛出到main方法之外，那么main方法结束
            System.out.println(str.length());
            System.out.println(str.charAt(5));
            System.out.println(Integer.parseInt(str));
        //}catch (NullPointerException e){
        //    System.out.println("出现空指针异常，并且处理完毕了");
        //}catch (StringIndexOutOfBoundsException e){
        //    System.out.println("出现字符串下标越界异常，并且处理完毕了");
            //
        }catch (NullPointerException|StringIndexOutOfBoundsException e){
            System.out.println("出现空指针异常和字符串下标越界异常，并且处理完毕了");
        }catch (Exception e){
            System.out.println("反正就是出了个错，我也不知道是什么错");
        }
        System.out.println("main方法结束");
    }
}
